﻿/**
 *
 * @title: Basic MVC Framework, Controller Interface definition
 * @author: Robert Turrall (http://www.robertturrall.com)
 * @license: Creative Commons Attribution 3.0 (http://creativecommons.org/licenses/by/3.0/)
 *			In other words: Please feel free to use, change, redistribute and do what you want with 
 *			this code. Just keep the original header and author attribution intact. Follow the license
 *			link for more info.
 * @updated: 31/12/2008
 *
 * @version	1.0 
 */

package net.turrall.mvc {

	import net.turrall.mvc.*;
	import flash.events.EventDispatcher
	/**
	 * Minimum services that a "controller" class of
	 * a Model/View/Controller triad must provide.
	 */
	public interface Controller {
		/**
		 * Sets the model for this controller.
		 */
		function setModel (m:EventDispatcher):void;
		
		/**
		 * Returns the model for this controller.
		 */
		function getModel ():EventDispatcher;
		
		/**
		 * Sets the view this controller is servicing.
		 */
		function setView (v:View):void;
		
		/**
		 * Returns this controller's view.
		 */
		function getView ():View;
	}
}